/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package bab;

/**
 * Une heuristique permet de choisir sur qu'elle objet on va brancher et si on
 * commence à essayé de le mettre dans le sac ou de l'exclure du sac
 * @author Florent
 */
public interface Heuristique {
	
	/**
	 * A appeler une fois avant nextObj et brancherDabordSurVrai
	 * @param ub 
	 */
	public void setUb(Ub ub);

	/**
	 * Renvoie le prochain object sur lequel branché
	 * @return 
	 */
	public int nextObj();

	/**
	 * Renvoie true ssi il faut d'abord exploré la solution avec l'object dans le 
	 * sac
	 * @return 
	 */
	public boolean brancherDabordSurVrai();
}
